package com.ozo.easy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ozo.easy.common.model.*;
import com.ozo.easy.entity.SysUser;
import com.ozo.easy.pojo.vo.SysUserDetailVO;
import com.ozo.easy.pojo.dto.SysUserSaveDTO;
import com.ozo.easy.pojo.vo.SysUserVO;
import com.ozo.easy.pojo.dto.SysUserQueryDTO;

/**
 * 用户 服务类
 *
 * @author ozo
 * @version 1.0
 * @date 2025-01-26 16:01:47
 */
public interface ISysUserService extends IService<SysUser> {

    /**
     * 添加用户
     *
     * @param saveDTO
     */
    void add(SysUserSaveDTO saveDTO);

    /**
     * 删除用户
     *
     * @param batchDTO
     */
    void remove(BaseBatchDTO<Long> batchDTO);

    /**
     * 编辑用户
     *
     * @param saveDTO
     */
    void edit(SysUserSaveDTO saveDTO);

    /**
     * 用户分页
     *
     * @param basePage
     * @param queryDTO
     * @return
     */
    PageResult<SysUserVO> page(BasePage basePage, SysUserQueryDTO queryDTO);

    /**
     * 用户详情
     *
     * @param id
     * @return
     */
    SysUserDetailVO detail(Long id);

    /**
     * 通过用户名查询用户
     *
     * @param username
     * @return
     */
    SysUser getByUsername(String username);

    /**
     * 重置密码
     *
     * @param id
     */
    void resetPwd(Long id);

}
